"use strict";
// dataKey 当前localstorage中的键 primaryKey 数据的唯一标识符
var DataHelper = /** @class */ (function () {
    // let dh = new DataHelper('dataKey','id') 类的使用
    function DataHelper(dataKey, primaryKey) {
        if (dataKey === void 0) { dataKey = ''; }
        if (primaryKey === void 0) { primaryKey = ''; }
        this.dataKey = dataKey;
        this.primaryKey = primaryKey;
    }
    // 读取数据
    DataHelper.prototype.readData = function () {
        // 1.读取本地数据dataKey
        var strData = localStorage.getItem(this.dataKey);
        // 2.将读取到的数据转成数组对象
        var arrData = [];
        if (strData != null) {
            arrData = JSON.parse(strData);
        }
        //3. 返回数组对象
        return arrData;
    };
    // 存数据
    DataHelper.prototype.saveData = function (arrData) {
        // 转数组转为json字符串
        var str = JSON.stringify(arrData);
        // 将字符串保存在localstorage
        localStorage.setItem(this.dataKey, str);
    };
    // 新增数据
    DataHelper.prototype.addData = function (conStr) {
        // 1. 获取localstorage中的数组对象
        var arr = this.readData();
        // 将评论字符串转为对象
        var obj = {
            content: conStr
        };
        // 取出数组最后一项的id值+1
        var newId = arr.length > 0 ? arr[arr.length - 1][this.primaryKey] + 1 : 1;
        obj[this.primaryKey] = newId;
        // 2. 将conStr追加到数组对象的最后
        arr.push(obj);
        // 3. 保存新的数组对象
        this.saveData(arr);
        return newId;
    };
    // 删除数据
    DataHelper.prototype.removeData = function (id) {
        var _this = this;
        // 读取本地数据
        var arr = this.readData();
        // 找到对应的id项，删除该项
        var index = arr.findIndex(function (ele) {
            return ele[_this.primaryKey] == id;
        });
        if (index > -1) {
            arr.splice(index, 1);
            // 保存数据
            this.saveData(arr);
            return true;
        }
        return false;
    };
    return DataHelper;
}());
